<script>

    //1、对象的属性名和函数简写

    // let  obj={
    //     username:"小明",
    //     password:123456
    // }

    // let  obj={
    //     username:"小方",
    //     password:"abcd"
    // }

    // 用变量去接收今天登录者的信息
    // let user="小方"
    // let pass="abcd"
    // let  obj={
    //     username:user,
    //     password:pass
    // }

    let username="小方"
    let password="abcd"
    let  obj={
        // username:username,
        // password:password
        // 此时，属性名和属性值一致，那么es6允许他们简写
        username,
        password,
        // fun:function(){}
        fun(){}

    }



    // 2、对象属性名表达式
    // es5的对象属性名只能是一个字符串
    let cla="IT培训软件学院面授XY学院班179班"
    let web0906={
        num:25,
        nan:20,
        nv:5,
        // IT培训软件学院面授XY学院班179班day07:"es6+nodejs",
        // IT培训软件学院面授XY学院班179班day08:"nodejs淘宝镜像",
        // IT培训软件学院面授XY学院班179班day09:"express"
        [cla+"day07"]:"es6+nodejs",
        [cla+"day08"]:"nodejs淘宝镜像",
        [cla+"day09"]:"express"
        // [表达式]  中括号不仅仅允许我们去进行字符串拼接，三目运算，判断  计算
    }



    // 对象的方法
    // Object.assign 合并对象（和合并数组的方法concat一种情况）
    // Object.keys 收集属性名
    // Object.values  收集属性值


    // JSON的方法*************
    // JSON.stringfiy(数组|对象)  把数组或对象 转成 字符串(虽然是字符串，但是长得还是数组和对象的样子)
    // [1,2,3,4]==> "[1,2,3,4]"
    // {name:"小明"}==> '{"name":"小明"}'


    // toString 和String 不能应用于复杂数据类型
    let arr=[1,2,3,4]
    console.log(String(arr));// 1,2,3,4
    console.log(arr.toString());// 1,2,3,4

    console.log(JSON.stringify(arr));// "[1,2,3,4]"



    let  xiaoming={
        name:"小明"
    }
    console.log(String(xiaoming));// [object Object]
    console.log(xiaoming.toString());// [object Object]

    console.log(JSON.stringify(xiaoming));//'{"name":"小明"}'
    




    // JSON.parse(字符串的数组或对象)
    // "[1,2,3,4]"==> [1,2,3,4]
    // '{"name":"小明"}'==> {name:"小明"}

    let strarr="[1,2,3,4]"
    console.log(JSON.parse(strarr));//[1, 2, 3, 4]

    let strobj= '{"name":"小明"}' //属性名必须加双引号
    console.log(JSON.parse(strobj));//{name: '小明'}


    // 前后端数据传输的时候，必须是字符串类型
    // 前端给后端发送数据的时候,需要把真实的数组或对象转成字符串的数组或对象
    // 后端把数据传输给前端的时候,前端接收到的是字符串的数组或对象,还需要转成真正的数组或对象才能使用


    



</script>